Dummy-coded maps for stimulus experience

Model (CESeO)
Table of Contents

Pain only (dummy-coded; Pain > rest)

Pain only :: load dataset

clear all;
close all;
mount_dir = '/Volumes/spacetop_projects_cue/analysis/fmri/spm/univariate/model02_CESeO/1stLevel';
con_list = dir(fullfile(mount_dir, '*/con_0016.nii'));
spm('Defaults','fMRI')
con_fldr = {con_list.folder}; fname = {con_list.name};
con_files = strcat(con_fldr,'/', fname)';
con_data_obj = fmri_data(con_files);
Using default mask: /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/brainmask_canlab.nii Direct calls to spm_defauts are deprecated. Please use spm('Defaults',modality) or spm_get_defaults instead.
sampleto = '/Volumes/spacetop_projects_cue/analysis/fmri/spm/univariate/model02_CESeO/1stLevel/sub-0014/con_0016.nii'
loading mask. mapping volumes. checking that dimensions and voxel sizes of volumes are the same. Pre-allocating data array. Needed: 29951100 bytes Loading image number: 75 Elapsed time is 3.192410 seconds. Image names entered, but fullpath attribute is empty. Getting path info. Number of unique values in dataset: 7208776 Bit rate: 22.78 bits
contrast_name = {'cue_P', 'cue_V', 'cue_C', 'cue_G',...
'stim_P', 'stim_V', 'stim_C', 'stim_G',...
'stimXexpect_P', 'stimXexpect_V', 'stimXexpect_C',...
'motor', ...
'simple_cue_P', 'simple_cue_V', 'simple_cue_C', ...
'simple_stim_P', 'simple_stim_V', 'simple_stim_C',...
'simple_stimXexpect_P', 'simple_stimXexpect_V', 'simple_stimXexpect_C'};

Pain only :: check data coverage

m = mean(con_data_obj);
m.dat = sum(~isnan(con_data_obj.dat) & con_data_obj.dat ~= 0, 2);
orthviews(m, 'trans'); % display
SPM12: spm_check_registration (v7759) 12:08:04 - 12/01/2023 ======================================================================== Display /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1
Grouping contiguous voxels: 1 regions

Pain only :: Plot diagnostics, before l2norm

drawnow; snapnow
[wh_outlier_uncorr, wh_outlier_corr] = plot(con_data_obj);
______________________________________________________________ Outlier analysis ______________________________________________________________ global mean | global mean to var | spatial MAD | Missing values | 0 images Retained 2 components for mahalanobis distance Expected 50% of points within 50% normal ellipsoid, found 26.67% Expected 3.75 outside 95% ellipsoid, found 7 Potential outliers based on mahalanobis distance: Bonferroni corrected: 2 images Cases 20 48 Uncorrected: 7 images Cases 5 20 26 45 48 59 72 Retained 6 components for mahalanobis distance Expected 50% of points within 50% normal ellipsoid, found 46.67% Expected 3.75 outside 95% ellipsoid, found 3 Potential outliers based on mahalanobis distance: Bonferroni corrected: 0 images Cases Uncorrected: 3 images Cases 10 47 53 Mahalanobis (cov and corr, q<0.05 corrected): 2 images Outlier_count Percentage _____________ __________ global_mean 2 2.6667 global_mean_to_variance 0 0 missing_values 0 0 rmssd_dvars 0 0 spatial_variability 3 4 mahal_cov_uncor 7 9.3333 mahal_cov_corrected 2 2.6667 mahal_corr_uncor 3 4 mahal_corr_corrected 0 0 Overall_uncorrected 10 13.333 Overall_corrected 4 5.3333
SPM12: spm_check_registration (v7759) 12:08:30 - 12/01/2023 ======================================================================== Display /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1 (all) /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1 /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1
Grouping contiguous voxels: 1 regions
Grouping contiguous voxels: 1 regions
Grouping contiguous voxels: 1 regions

Pain only :: run robfit

set(gcf,'Visible','on');
figure ('Visible', 'on');
drawnow, snapnow;

Pain only :: remove outliers based on plot

con = con_data_obj;
disp(strcat("current length is ", num2str(size(con_data_obj.dat,2))));
current length is 75
%for s = 1:length(wh_outlier_corr)
%disp(strcat("-------subject", num2str(s), "------"))
con.dat = con_data_obj.dat(:,~wh_outlier_corr);
con.image_names = con_data_obj.image_names(~wh_outlier_corr,:);
con.fullpath = con_data_obj.fullpath(~wh_outlier_corr,:);
con.files_exist = con_data_obj.files_exist(~wh_outlier_corr,:);
%end
disp(strcat("after removing ", num2str(sum(wh_outlier_corr)), " participants, size is now ",num2str(size(con.dat,2))));
after removing 4 participants, size is now 71
[path,n,e] = fileparts(con_fldr(wh_outlier_corr));
disp(strcat("participants that are outliers:... ", n));
"participants that are outliers:... sub…" "participants that are outliers:... sub…" "participants that are outliers:... sub…" "participants that are outliers:... sub…"
disp(n);
{'sub-0018'} {'sub-0044'} {'sub-0091'} {'sub-0111'}

Pain only :: plot diagnostics, after l2norm

imgs2 = con.rescale('l2norm_images');

Pain only :: ttest

t = ttest(imgs2);
One-sample t-test Calculating t-statistics and p-values
orthviews(t);
SPM12: spm_check_registration (v7759) 12:08:35 - 12/01/2023 ======================================================================== Display /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1
drawnow, snapnow;
fdr_t = threshold(t, .05, 'fdr');
Image 1 FDR q < 0.050 threshold is 0.024870 Image 1 43 contig. clusters, sizes 1 to 48910 Positive effect: 35424 voxels, min p-value: 0.00000000 Negative effect: 14244 voxels, min p-value: 0.00000000
orthviews(fdr_t);
SPM12: spm_check_registration (v7759) 12:08:36 - 12/01/2023 ======================================================================== Display /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1
drawnow, snapnow;
fdr_t = threshold(t, .001, 'fdr');
Image 1 FDR q < 0.001 threshold is 0.000278 Image 1 53 contig. clusters, sizes 1 to 25532 Positive effect: 21735 voxels, min p-value: 0.00000000 Negative effect: 6011 voxels, min p-value: 0.00000000
orthviews(fdr_t);
SPM12: spm_check_registration (v7759) 12:08:37 - 12/01/2023 ======================================================================== Display /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1
drawnow, snapnow;
create_figure('montage'); axis off;
montage(fdr_t);
Setting up fmridisplay objects
sagittal montage: 672 voxels displayed, 27074 not displayed on these slices
sagittal montage: 838 voxels displayed, 26908 not displayed on these slices
sagittal montage: 696 voxels displayed, 27050 not displayed on these slices
axial montage: 5167 voxels displayed, 22579 not displayed on these slices
axial montage: 5456 voxels displayed, 22290 not displayed on these slices
drawnow, snapnow;

Pain only :: Neurosynth similarity

[image_by_feature_correlations, top_feature_tables] = neurosynth_feature_labels( mean(imgs2), 'images_are_replicates', false, 'noverbose');
Input image 1 fullpath_was_empty _____________________________________________________________________ testr_low words_low testr_high words_high _________ _______________ __________ _________________ -0.28866 {'judgment' } 0.37952 {'pain' } -0.26373 {'judgments' } 0.3712 {'somatosensory'} -0.25351 {'recognition'} 0.36788 {'painful' } -0.25295 {'memory' } 0.33997 {'sensory' } -0.22642 {'mental' } 0.33275 {'heat' } -0.22024 {'person' } 0.32995 {'noxious' } -0.219 {'episodic' } 0.32876 {'stimulation' } -0.2137 {'intention' } 0.3182 {'motor' } -0.20535 {'object' } 0.30554 {'sensation' } -0.20201 {'objects' } 0.26517 {'feedback' }
% [image_by_feature_correlations, top_feature_tables] = neurosynth_feature_labels( m, 'images_are_replicates', false, 'noverbose');

Pain only :: Pattern Phil

[obj, names] = load_image_set('pain_cog_emo');
Loaded images: /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pMCC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_aMCC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pACC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_sgACC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_vmPFC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_dMFC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_MFC_Pain.nii /Users/h/Documents/MATLAB/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_Wholebrain_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pMCC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_aMCC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pACC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_sgACC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_vmPFC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_dMFC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_MFC_Cognitive_Control.nii /Users/h/Documents/MATLAB/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_Wholebrain_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pMCC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_aMCC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pACC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_sgACC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_vmPFC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_dMFC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_MFC_Negative_Emotion.nii /Users/h/Documents/MATLAB/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_Wholebrain_Negative_Emotion.nii
bpls_wholebrain = get_wh_image(obj, [8 16 24]);
names_wholebrain = names([8 16 24]);
create_figure('Kragel Pain-Cog-Emo maps', 1, 3);
stats = image_similarity_plot(imgs2, 'average', 'mapset', bpls_wholebrain, 'networknames', names_wholebrain, 'nofigure');
Warning: Some images have zero values in some of the 79175 voxels in weight mask. These will be excluded from similarity analysis image-wise. Number of zero or NaN values within weight mask, by input image: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Warning: Some images have zero values in some of the 79175 voxels in weight mask. These will be excluded from similarity analysis image-wise. Number of zero or NaN values within weight mask, by input image: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Warning: Some images have zero values in some of the 79175 voxels in weight mask. These will be excluded from similarity analysis image-wise. Number of zero or NaN values within weight mask, by input image: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Table of correlations Group:1 -------------------------------------- T-test on Fisher's r to Z transformed point-biserial correlations R_avg T P sig Pain Wholebrain 0.1160 13.9560 0.0000 1.0000 Cog Wholebrain -0.0614 -15.1882 0.0000 1.0000 Emo Wholebrain -0.0549 -7.9088 0.0000 1.0000
axis image
subplot(1, 3, 2)
barplot_columns(stats.r', 'nofigure', 'colors', {[1 .9 0] [.2 .2 1] [1 .2 .2]}, 'names', names_wholebrain)
Col 1: Pain Wholebrain Col 2: Cog Wholebrain Col 3: Emo Wholebrain --------------------------------------------- Tests of column means against zero --------------------------------------------- Name Mean_Value Std_Error T P Cohens_d ___________________ __________ _________ _______ __________ ________ {'Pain Wholebrain'} 0.11604 0.0082565 14.054 2.2204e-15 1.6679 {'Cog Wholebrain' } -0.061415 0.0040305 -15.237 2.2204e-15 -1.8083 {'Emo Wholebrain' } -0.054916 0.0069335 -7.9204 2.5604e-11 -0.93998
ans = struct with fields:
fig_han: [1×1 struct] axis_han: [1×1 Axes] bar_han1: [1×1 Bar] bar_han: {[1×1 Bar] [1×1 Bar] [1×1 Bar]} errorbar_han: {[1×1 ErrorBar] [1×1 ErrorBar] [1×1 ErrorBar]} point_han1: {71×3 cell} text_han: {71×3 cell} point_han: {71×3 cell} star_handles: [9.0005 10.0005 11.0005]
set(gca, 'FontSize', 14)
ylabel('Pattern similarity (r)');
title('Similarity (r) with patterns')
test_data_obj = resample_space(imgs2, bpls_wholebrain);
clear csim
for i = 1:3
csim(:, i) = canlab_pattern_similarity(test_data_obj.dat, bpls_wholebrain.dat(:, i), 'cosine_similarity');
end
Warning: Some images have zero values in some of the 415356 voxels in weight mask. These will be excluded from similarity analysis image-wise. Number of zero or NaN values within weight mask, by input image: 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 Warning: Some images have zero values in some of the 415356 voxels in weight mask. These will be excluded from similarity analysis image-wise. Number of zero or NaN values within weight mask, by input image: 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 Warning: Some images have zero values in some of the 415356 voxels in weight mask. These will be excluded from similarity analysis image-wise. Number of zero or NaN values within weight mask, by input image: 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297
subplot(1, 3, 3)
barplot_columns(csim, 'nofigure', 'colors', {[1 .9 0] [.2 .2 1] [1 .2 .2]}, 'names', names_wholebrain)
Col 1: Pain Wholebrain Col 2: Cog Wholebrain Col 3: Emo Wholebrain --------------------------------------------- Tests of column means against zero --------------------------------------------- Name Mean_Value Std_Error T P Cohens_d ___________________ __________ _________ _______ __________ ________ {'Pain Wholebrain'} 0.10812 0.007941 13.616 2.2204e-15 1.6159 {'Cog Wholebrain' } -0.055317 0.0037615 -14.706 2.2204e-15 -1.7453 {'Emo Wholebrain' } -0.052704 0.0066853 -7.8836 2.9925e-11 -0.93561
ans = struct with fields:
fig_han: [1×1 struct] axis_han: [1×1 Axes] bar_han1: [1×1 Bar] bar_han: {[1×1 Bar] [1×1 Bar] [1×1 Bar]} errorbar_han: {[1×1 ErrorBar] [1×1 ErrorBar] [1×1 ErrorBar]} point_han1: {71×3 cell} text_han: {71×3 cell} point_han: {71×3 cell} star_handles: [12.0005 13.0005 14.0005]
set(gca, 'FontSize', 14)
ylabel('Pattern similarity (cosine sim)');
title('Pattern response (cosine similarity)')

Vicarious only (dummy-coded; Vicarious > rest)

clear all;
close all;

Vicarious only :: load dataset

mount_dir = '/Volumes/spacetop_projects_cue/analysis/fmri/spm/univariate/model02_CESeO/1stLevel';
con_list = dir(fullfile(mount_dir, '*/con_0017.nii'));
spm('Defaults','fMRI');
con_fldr = {con_list.folder}; fname = {con_list.name};
con_files = strcat(con_fldr,'/', fname)';
con_data_obj = fmri_data(con_files);
Using default mask: /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/brainmask_canlab.nii Direct calls to spm_defauts are deprecated. Please use spm('Defaults',modality) or spm_get_defaults instead.
sampleto = '/Volumes/spacetop_projects_cue/analysis/fmri/spm/univariate/model02_CESeO/1stLevel/sub-0014/con_0017.nii'
loading mask. mapping volumes. checking that dimensions and voxel sizes of volumes are the same. Pre-allocating data array. Needed: 29951100 bytes Loading image number: 75 Elapsed time is 3.783450 seconds. Image names entered, but fullpath attribute is empty. Getting path info. Number of unique values in dataset: 7212745 Bit rate: 22.78 bits
contrast_name = {'cue_P', 'cue_V', 'cue_C', 'cue_G',...
'stim_P', 'stim_V', 'stim_C', 'stim_G',...
'stimXexpect_P', 'stimXexpect_V', 'stimXexpect_C',...
'motor', ...
'simple_cue_P', 'simple_cue_V', 'simple_cue_C', ...
'simple_stim_P', 'simple_stim_V', 'simple_stim_C',...
'simple_stimXexpect_P', 'simple_stimXexpect_V', 'simple_stimXexpect_C'};

Vicarious only :: check data coverage

m = mean(con_data_obj);
m.dat = sum(~isnan(con_data_obj.dat) & con_data_obj.dat ~= 0, 2);
orthviews(m, 'trans') % display
SPM12: spm_check_registration (v7759) 12:14:38 - 12/01/2023 ======================================================================== Display /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1
Grouping contiguous voxels: 1 regions
ans = 1×1 cell array
{1×1 region}

Vicarious only :: Plot diagnostics, before l2norm

drawnow; snapnow;
[wh_outlier_uncorr, wh_outlier_corr] = plot(con_data_obj);
______________________________________________________________ Outlier analysis ______________________________________________________________ global mean | global mean to var | spatial MAD | Missing values | 0 images Retained 6 components for mahalanobis distance Expected 50% of points within 50% normal ellipsoid, found 29.33% Expected 3.75 outside 95% ellipsoid, found 12 Potential outliers based on mahalanobis distance: Bonferroni corrected: 1 images Cases 75 Uncorrected: 12 images Cases 18 22 27 29 30 42 46 47 49 68 72 75 Retained 6 components for mahalanobis distance Expected 50% of points within 50% normal ellipsoid, found 54.67% Expected 3.75 outside 95% ellipsoid, found 3 Potential outliers based on mahalanobis distance: Bonferroni corrected: 0 images Cases Uncorrected: 3 images Cases 43 48 53 Mahalanobis (cov and corr, q<0.05 corrected): 1 images Outlier_count Percentage _____________ __________ global_mean 2 2.6667 global_mean_to_variance 2 2.6667 missing_values 0 0 rmssd_dvars 0 0 spatial_variability 0 0 mahal_cov_uncor 12 16 mahal_cov_corrected 1 1.3333 mahal_corr_uncor 3 4 mahal_corr_corrected 0 0 Overall_uncorrected 15 20 Overall_corrected 1 1.3333
SPM12: spm_check_registration (v7759) 12:15:08 - 12/01/2023 ======================================================================== Display /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1 (all) /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1 /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1
Grouping contiguous voxels: 1 regions
Grouping contiguous voxels: 1 regions
Grouping contiguous voxels: 1 regions

Vicarious only :: run robfit

set(gcf,'Visible','on');
figure ('Visible', 'on');
drawnow, snapnow;

Vicarious only :: remove outliers based on plot

con = con_data_obj;
disp(strcat("current length is ", num2str(size(con_data_obj.dat,2))));
current length is 75
%for s = 1:length(wh_outlier_corr)
% disp(strcat("-------subject", num2str(s), "------"))
con.dat = con_data_obj.dat(:,~wh_outlier_corr);
con.image_names = con_data_obj.image_names(~wh_outlier_corr,:);
con.fullpath = con_data_obj.fullpath(~wh_outlier_corr,:);
con.files_exist = con_data_obj.files_exist(~wh_outlier_corr,:);
%end
disp(strcat("after removing ", num2str(sum(wh_outlier_corr)), " participants, size is now ",num2str(size(con.dat,2))));
after removing 1 participants, size is now 74
[path,n,e] = fileparts(con_fldr(wh_outlier_corr));
disp(strcat("participants that are outliers:... ", n));
participants that are outliers:... sub-0133
disp(n);
sub-0133

Vicarious only :: plot diagnostics, after l2norm

imgs2 = con.rescale('l2norm_images');

Vicarious only :: ttest

t = ttest(imgs2);
One-sample t-test Calculating t-statistics and p-values
orthviews(t);
SPM12: spm_check_registration (v7759) 12:15:13 - 12/01/2023 ======================================================================== Display /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1
drawnow, snapnow;
fdr_t = threshold(t, .05, 'fdr');
Image 1 FDR q < 0.050 threshold is 0.037532 Image 1 12 contig. clusters, sizes 1 to 74914 Positive effect: 33851 voxels, min p-value: 0.00000000 Negative effect: 41121 voxels, min p-value: 0.00000000
orthviews(fdr_t);
SPM12: spm_check_registration (v7759) 12:15:15 - 12/01/2023 ======================================================================== Display /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1
drawnow, snapnow;
create_figure('montage'); axis off;
montage(fdr_t);
Setting up fmridisplay objects
sagittal montage: 1974 voxels displayed, 72998 not displayed on these slices
sagittal montage: 1831 voxels displayed, 73141 not displayed on these slices
sagittal montage: 1923 voxels displayed, 73049 not displayed on these slices
axial montage: 14264 voxels displayed, 60708 not displayed on these slices
axial montage: 15528 voxels displayed, 59444 not displayed on these slices
drawnow, snapnow;

Vicarious only :: Neurosynth similarity

[image_by_feature_correlations, top_feature_tables] = neurosynth_feature_labels( mean(imgs2), 'images_are_replicates', false, 'noverbose');
Input image 1 fullpath_was_empty _____________________________________________________________________ testr_low words_low testr_high words_high _________ ________________ __________ ______________ -0.26365 {'age' } 0.26903 {'visual' } -0.24989 {'time' } 0.26241 {'perception'} -0.22055 {'default' } 0.26106 {'object' } -0.22029 {'restingstate'} 0.25943 {'identity' } -0.2174 {'disorder' } 0.2478 {'face' } -0.20654 {'trait' } 0.24624 {'objects' } -0.20542 {'personal' } 0.2438 {'gesture' } -0.20423 {'depression' } 0.23841 {'faces' } -0.20282 {'outcomes' } 0.22721 {'actions' } -0.19958 {'positive' } 0.2135 {'biological'}

Vicarious only :: Pattern Phil

[obj, names] = load_image_set('pain_cog_emo');
Loaded images: /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pMCC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_aMCC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pACC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_sgACC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_vmPFC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_dMFC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_MFC_Pain.nii /Users/h/Documents/MATLAB/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_Wholebrain_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pMCC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_aMCC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pACC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_sgACC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_vmPFC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_dMFC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_MFC_Cognitive_Control.nii /Users/h/Documents/MATLAB/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_Wholebrain_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pMCC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_aMCC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pACC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_sgACC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_vmPFC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_dMFC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_MFC_Negative_Emotion.nii /Users/h/Documents/MATLAB/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_Wholebrain_Negative_Emotion.nii
bpls_wholebrain = get_wh_image(obj, [8 16 24]);
names_wholebrain = names([8 16 24]);
create_figure('Kragel Pain-Cog-Emo maps', 1, 3);
stats = image_similarity_plot(imgs2, 'average', 'mapset', bpls_wholebrain, 'networknames', names_wholebrain, 'nofigure');
Table of correlations Group:1 -------------------------------------- T-test on Fisher's r to Z transformed point-biserial correlations R_avg T P sig Pain Wholebrain -0.1405 -27.5403 0.0000 1.0000 Cog Wholebrain -0.0268 -8.6626 0.0000 1.0000 Emo Wholebrain 0.1569 29.8023 0.0000 1.0000
axis image
subplot(1, 3, 2)
barplot_columns(stats.r', 'nofigure', 'colors', {[1 .9 0] [.2 .2 1] [1 .2 .2]}, 'names', names_wholebrain)
Col 1: Pain Wholebrain Col 2: Cog Wholebrain Col 3: Emo Wholebrain --------------------------------------------- Tests of column means against zero --------------------------------------------- Name Mean_Value Std_Error T P Cohens_d ___________________ __________ _________ _______ __________ ________ {'Pain Wholebrain'} -0.14054 0.0050389 -27.892 2.2204e-15 -3.2424 {'Cog Wholebrain' } -0.026768 0.0030892 -8.6649 7.9226e-13 -1.0073 {'Emo Wholebrain' } 0.15692 0.0051814 30.286 2.2204e-15 3.5206
ans = struct with fields:
fig_han: [1×1 struct] axis_han: [1×1 Axes] bar_han1: [1×1 Bar] bar_han: {[1×1 Bar] [1×1 Bar] [1×1 Bar]} errorbar_han: {[1×1 ErrorBar] [1×1 ErrorBar] [1×1 ErrorBar]} point_han1: {74×3 cell} text_han: {74×3 cell} point_han: {74×3 cell} star_handles: [9.0007 10.0007 11.0007]
set(gca, 'FontSize', 14)
ylabel('Pattern similarity (r)');
title('Similarity (r) with patterns')
test_data_obj = resample_space(imgs2, bpls_wholebrain);
clear csim
for i = 1:3
csim(:, i) = canlab_pattern_similarity(test_data_obj.dat, bpls_wholebrain.dat(:, i), 'cosine_similarity');
end
Warning: Some images have zero values in some of the 415356 voxels in weight mask. These will be excluded from similarity analysis image-wise. Number of zero or NaN values within weight mask, by input image: 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 Warning: Some images have zero values in some of the 415356 voxels in weight mask. These will be excluded from similarity analysis image-wise. Number of zero or NaN values within weight mask, by input image: 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 Warning: Some images have zero values in some of the 415356 voxels in weight mask. These will be excluded from similarity analysis image-wise. Number of zero or NaN values within weight mask, by input image: 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297
subplot(1, 3, 3)
barplot_columns(csim, 'nofigure', 'colors', {[1 .9 0] [.2 .2 1] [1 .2 .2]}, 'names', names_wholebrain)
Col 1: Pain Wholebrain Col 2: Cog Wholebrain Col 3: Emo Wholebrain --------------------------------------------- Tests of column means against zero --------------------------------------------- Name Mean_Value Std_Error T P Cohens_d ___________________ __________ _________ _______ __________ ________ {'Pain Wholebrain'} -0.14054 0.0050682 -27.729 2.2204e-15 -3.2235 {'Cog Wholebrain' } -0.02584 0.0029632 -8.7203 6.235e-13 -1.0137 {'Emo Wholebrain' } 0.15843 0.0052668 30.081 2.2204e-15 3.4968
ans = struct with fields:
fig_han: [1×1 struct] axis_han: [1×1 Axes] bar_han1: [1×1 Bar] bar_han: {[1×1 Bar] [1×1 Bar] [1×1 Bar]} errorbar_han: {[1×1 ErrorBar] [1×1 ErrorBar] [1×1 ErrorBar]} point_han1: {74×3 cell} text_han: {74×3 cell} point_han: {74×3 cell} star_handles: [12.0007 13.0007 14.0007]
set(gca, 'FontSize', 14)
ylabel('Pattern similarity (cosine sim)');
title('Pattern response (cosine similarity)')

Cognitive only (dummy-coded; Cognitive > rest)

Cognitive only :: load dataset

clear all; close all;
mount_dir = '/Volumes/spacetop_projects_cue/analysis/fmri/spm/univariate/model02_CESeO/1stLevel';
con_list = dir(fullfile(mount_dir, '*/con_0018.nii'));
spm('Defaults','fMRI');
con_fldr = {con_list.folder}; fname = {con_list.name};
con_files = strcat(con_fldr,'/', fname)';
con_data_obj = fmri_data(con_files);
Using default mask: /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/brainmask_canlab.nii Direct calls to spm_defauts are deprecated. Please use spm('Defaults',modality) or spm_get_defaults instead.
sampleto = '/Volumes/spacetop_projects_cue/analysis/fmri/spm/univariate/model02_CESeO/1stLevel/sub-0014/con_0018.nii'
loading mask. mapping volumes. checking that dimensions and voxel sizes of volumes are the same. Pre-allocating data array. Needed: 29951100 bytes Loading image number: 75 Elapsed time is 5.097678 seconds. Image names entered, but fullpath attribute is empty. Getting path info. Number of unique values in dataset: 7215106 Bit rate: 22.78 bits
contrast_name = {'cue_P', 'cue_V', 'cue_C', 'cue_G',...
'stim_P', 'stim_V', 'stim_C', 'stim_G',...
'stimXexpect_P', 'stimXexpect_V', 'stimXexpect_C',...
'motor', ...
'simple_cue_P', 'simple_cue_V', 'simple_cue_C', ...
'simple_stim_P', 'simple_stim_V', 'simple_stim_C',...
'simple_stimXexpect_P', 'simple_stimXexpect_V', 'simple_stimXexpect_C'};

Cognitive only :: check data coverage

m = mean(con_data_obj);
m.dat = sum(~isnan(con_data_obj.dat) & con_data_obj.dat ~= 0, 2);
orthviews(m, 'trans'); % display
SPM12: spm_check_registration (v7759) 12:17:34 - 12/01/2023 ======================================================================== Display /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1
Grouping contiguous voxels: 1 regions

Cognitive only :: Plot diagnostics, before l2norm

drawnow; snapnow;
[wh_outlier_uncorr, wh_outlier_corr] = plot(con_data_obj);
______________________________________________________________ Outlier analysis ______________________________________________________________ global mean | global mean to var | spatial MAD | Missing values | 0 images Retained 3 components for mahalanobis distance Expected 50% of points within 50% normal ellipsoid, found 45.33% Expected 3.75 outside 95% ellipsoid, found 5 Potential outliers based on mahalanobis distance: Bonferroni corrected: 1 images Cases 47 Uncorrected: 5 images Cases 15 27 47 61 75 Retained 6 components for mahalanobis distance Expected 50% of points within 50% normal ellipsoid, found 45.33% Expected 3.75 outside 95% ellipsoid, found 6 Potential outliers based on mahalanobis distance: Bonferroni corrected: 0 images Cases Uncorrected: 6 images Cases 4 22 43 60 63 68 Mahalanobis (cov and corr, q<0.05 corrected): 1 images Outlier_count Percentage _____________ __________ global_mean 2 2.6667 global_mean_to_variance 3 4 missing_values 0 0 rmssd_dvars 0 0 spatial_variability 1 1.3333 mahal_cov_uncor 5 6.6667 mahal_cov_corrected 1 1.3333 mahal_corr_uncor 6 8 mahal_corr_corrected 0 0 Overall_uncorrected 11 14.667 Overall_corrected 2 2.6667
SPM12: spm_check_registration (v7759) 12:18:12 - 12/01/2023 ======================================================================== Display /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1 (all) /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1 /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1
Grouping contiguous voxels: 1 regions
Grouping contiguous voxels: 1 regions
Grouping contiguous voxels: 1 regions

Cognitive only :: run robfit

set(gcf,'Visible','on');
figure ('Visible', 'on');
drawnow, snapnow;

Cognitive only :: remove outliers based on plot

con = con_data_obj;
disp(strcat("current length is ", num2str(size(con_data_obj.dat,2))));
current length is 75
%for s = 1:length(wh_outlier_corr)
% disp(strcat("-------subject", num2str(s), "------"))
con.dat = con_data_obj.dat(:,~wh_outlier_corr);
con.image_names = con_data_obj.image_names(~wh_outlier_corr,:);
con.fullpath = con_data_obj.fullpath(~wh_outlier_corr,:);
con.files_exist = con_data_obj.files_exist(~wh_outlier_corr,:);
%end
disp(strcat("after removing ", num2str(sum(wh_outlier_corr)), " participants, size is now ",num2str(size(con.dat,2))));
after removing 2 participants, size is now 73
[path,n,e] = fileparts(con_fldr(wh_outlier_corr));
disp(strcat("participants that are outliers:... ", n));
"participants that are outliers:... sub-0059" "participants that are outliers:... sub-0089"
disp(n);
{'sub-0059'} {'sub-0089'}

Cognitive only:: plot diagnostics, after l2norm

imgs2 = con.rescale('l2norm_images');

Cognitive only :: ttest

t = ttest(imgs2);
One-sample t-test Calculating t-statistics and p-values
orthviews(t);
SPM12: spm_check_registration (v7759) 12:18:16 - 12/01/2023 ======================================================================== Display /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1
drawnow, snapnow;
fdr_t = threshold(t, .05, 'fdr');
Image 1 FDR q < 0.050 threshold is 0.041972 Image 1 4 contig. clusters, sizes 1 to 83796 Positive effect: 48313 voxels, min p-value: 0.00000000 Negative effect: 35494 voxels, min p-value: 0.00000000
orthviews(fdr_t);
SPM12: spm_check_registration (v7759) 12:18:18 - 12/01/2023 ======================================================================== Display /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/canlab_canonical_brains/Canonical_brains_surfaces/keuken_2014_enhanced_for_underlay.img,1
drawnow, snapnow;
create_figure('montage'); axis off;
montage(fdr_t);
Setting up fmridisplay objects
sagittal montage: 2136 voxels displayed, 81671 not displayed on these slices
sagittal montage: 2114 voxels displayed, 81693 not displayed on these slices
sagittal montage: 2111 voxels displayed, 81696 not displayed on these slices
axial montage: 15834 voxels displayed, 67973 not displayed on these slices
axial montage: 17081 voxels displayed, 66726 not displayed on these slices
drawnow, snapnow;

Cognitive only :: Neurosynth similarity

[image_by_feature_correlations, top_feature_tables] = neurosynth_feature_labels( mean(imgs2), 'images_are_replicates', false, 'noverbose');
Input image 1 fullpath_was_empty _____________________________________________________________________ testr_low words_low testr_high words_high _________ ____________ __________ _______________ -0.39053 {'trait' } 0.48059 {'visual' } -0.35445 {'personal'} 0.34327 {'object' } -0.35361 {'person' } 0.31804 {'letter' } -0.34523 {'positive'} 0.31155 {'attention' } -0.34112 {'rating' } 0.31107 {'shape' } -0.33865 {'negative'} 0.30895 {'objects' } -0.32985 {'age' } 0.30445 {'maintenance'} -0.31635 {'self' } 0.29431 {'numbers' } -0.30526 {'social' } 0.2909 {'eye' } -0.30004 {'affect' } 0.28602 {'color' }

Cognitive only :: Pattern Phil

[obj, names] = load_image_set('pain_cog_emo');
Loaded images: /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pMCC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_aMCC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pACC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_sgACC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_vmPFC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_dMFC_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_MFC_Pain.nii /Users/h/Documents/MATLAB/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_Wholebrain_Pain.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pMCC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_aMCC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pACC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_sgACC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_vmPFC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_dMFC_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_MFC_Cognitive_Control.nii /Users/h/Documents/MATLAB/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_Wholebrain_Cognitive_Control.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pMCC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_aMCC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_pACC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_sgACC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_vmPFC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_dMFC_Negative_Emotion.nii /Users/h/Documents/MATLAB/CanlabCore/CanlabCore/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_MFC_Negative_Emotion.nii /Users/h/Documents/MATLAB/Neuroimaging_Pattern_Masks/Multivariate_signature_patterns/2018_Kragel_MFC_Generalizability/bPLS_Wholebrain_Negative_Emotion.nii
bpls_wholebrain = get_wh_image(obj, [8 16 24]);
names_wholebrain = names([8 16 24]);
create_figure('Kragel Pain-Cog-Emo maps', 1, 3);
stats = image_similarity_plot(imgs2, 'average', 'mapset', bpls_wholebrain, 'networknames', names_wholebrain, 'nofigure');
Table of correlations Group:1 -------------------------------------- T-test on Fisher's r to Z transformed point-biserial correlations R_avg T P sig Pain Wholebrain -0.0573 -15.7677 0.0000 1.0000 Cog Wholebrain -0.0255 -8.1002 0.0000 1.0000 Emo Wholebrain 0.0770 20.1576 0.0000 1.0000
axis image
subplot(1, 3, 2)
barplot_columns(stats.r', 'nofigure', 'colors', {[1 .9 0] [.2 .2 1] [1 .2 .2]}, 'names', names_wholebrain)
Col 1: Pain Wholebrain Col 2: Cog Wholebrain Col 3: Emo Wholebrain --------------------------------------------- Tests of column means against zero --------------------------------------------- Name Mean_Value Std_Error T P Cohens_d ___________________ __________ _________ _______ __________ ________ {'Pain Wholebrain'} -0.05729 0.0036214 -15.82 2.2204e-15 -1.8516 {'Cog Wholebrain' } -0.025482 0.0031446 -8.1036 9.823e-12 -0.94845 {'Emo Wholebrain' } 0.076989 0.0038046 20.236 2.2204e-15 2.3684
ans = struct with fields:
fig_han: [1×1 struct] axis_han: [1×1 Axes] bar_han1: [1×1 Bar] bar_han: {[1×1 Bar] [1×1 Bar] [1×1 Bar]} errorbar_han: {[1×1 ErrorBar] [1×1 ErrorBar] [1×1 ErrorBar]} point_han1: {73×3 cell} text_han: {73×3 cell} point_han: {73×3 cell} star_handles: [9.0009 10.0009 11.0009]
set(gca, 'FontSize', 14)
ylabel('Pattern similarity (r)');
title('Similarity (r) with patterns')
test_data_obj = resample_space(imgs2, bpls_wholebrain);
clear csim
for i = 1:3
csim(:, i) = canlab_pattern_similarity(test_data_obj.dat, bpls_wholebrain.dat(:, i), 'cosine_similarity');
end
Warning: Some images have zero values in some of the 415356 voxels in weight mask. These will be excluded from similarity analysis image-wise. Number of zero or NaN values within weight mask, by input image: 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 Warning: Some images have zero values in some of the 415356 voxels in weight mask. These will be excluded from similarity analysis image-wise. Number of zero or NaN values within weight mask, by input image: 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 Warning: Some images have zero values in some of the 415356 voxels in weight mask. These will be excluded from similarity analysis image-wise. Number of zero or NaN values within weight mask, by input image: 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297 297
subplot(1, 3, 3)
barplot_columns(csim, 'nofigure', 'colors', {[1 .9 0] [.2 .2 1] [1 .2 .2]}, 'names', names_wholebrain)
Col 1: Pain Wholebrain Col 2: Cog Wholebrain Col 3: Emo Wholebrain --------------------------------------------- Tests of column means against zero --------------------------------------------- Name Mean_Value Std_Error T P Cohens_d ___________________ __________ _________ _______ __________ ________ {'Pain Wholebrain'} -0.054958 0.0034744 -15.818 2.2204e-15 -1.8514 {'Cog Wholebrain' } -0.022564 0.0029953 -7.533 1.1377e-10 -0.88167 {'Emo Wholebrain' } 0.073418 0.0036938 19.876 2.2204e-15 2.3263
ans = struct with fields:
fig_han: [1×1 struct] axis_han: [1×1 Axes] bar_han1: [1×1 Bar] bar_han: {[1×1 Bar] [1×1 Bar] [1×1 Bar]} errorbar_han: {[1×1 ErrorBar] [1×1 ErrorBar] [1×1 ErrorBar]} point_han1: {73×3 cell} text_han: {73×3 cell} point_han: {73×3 cell} star_handles: [12.0009 13.0009 14.0009]
set(gca, 'FontSize', 14)
ylabel('Pattern similarity (cosine sim)');
title('Pattern response (cosine similarity)')
drawnow, snapnow;
% save html
pubdir = pwd;
pubfilename = 's03_PVC_stim_dummy_ROI.mlx';
p = struct('useNewFigure', false, 'maxHeight', 800, 'maxWidth', 800, ...
'format', 'html', 'outputDir', pubdir, ...
'showCode', true, 'stylesheet', which('mxdom2simplehtml_CANlab.xsl'));
htmlfile = publish(pubfilename, p);